package cliente.bancoCliente;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

import cliente.controle.Sistema;
import cliente.vista.LoginView;

public class BancoCliente {
	private static Socket servidorSocket = null;
	private static PrintWriter out = null;
	private static BufferedReader in = null;
	private static LoginView loginView = new LoginView();

	public static void main(String[] args) throws IOException {

		try {
			servidorSocket = new Socket("localhost", 3333);
			out = new PrintWriter(servidorSocket.getOutputStream(), true);
			in = new BufferedReader(new InputStreamReader(servidorSocket
					.getInputStream()));
		} catch (UnknownHostException e) {
			System.err.println("Não foi possivel conectar ao host: localhost.");
			System.exit(1);
		} catch (IOException e) {
			System.err
					.println("Não foi possível pegar o I/O para a conexão com o host: localhost.");
			System.exit(1);
		}
		escreveServidor("cliente"); // Avisa ao servidor que um cliente tentará
									// se conectar

		Sistema sistema = Sistema.getUnicaInstancia();
		sistema.setCliente(true);
		sistema.setIn(in);
		sistema.setOut(out);

		loginView.telaLogin(); // pede para o cliente se logar
	}

	public static void escreveServidor(String s) {
		out.println(s);
	}

	public static void escreveServidor(int i) {
		out.println(i);
	}

	public static String getLineServidor() throws IOException {
		return in.readLine();
	}
}
